package test01;
//力扣 ---------------  杨辉三角（简单题型）
import java.util.ArrayList;
import java.util.List;

public class Solution {
    public List<List<Integer>> generate(int numRows) {
        //定义一个二维数组进行存储
        List<List<Integer>> ret = new ArrayList<>();

        //定义一个一维数组
        List<Integer> list = new ArrayList<>();
        list.add(1);
        ret.add(list);//在第一行添加数字1

        for (int i = 1; i < numRows; i++) {
            //每循环一次就是一行，每行用一维数组表示
            List<Integer> curRow = new ArrayList<>();
            //第一个数字添加数字1
            curRow.add(1);
            //处理每行中间的元素
            List<Integer> prevRow = ret.get(i - 1);//获取上一行元素
            for (int j = 1; j < i; j++) {
                int x = prevRow.get(j) + prevRow.get(j - 1);
                curRow.add(x);
            }
            //最后一个数字添加数字1
            curRow.add(1);

            //添加完该行元素之后，把该行元素放到一个一维数组里面之后，在放到一个二维数组
            ret.add(curRow);
        }
        return ret;
    }
}
